<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>

<body>
    <script>
        var str = "qwertyu";

        var reg = /a/g;  // 是否包含a
        var res = reg.test(str);
        console.log(res); // false


        reg = /wer/g;  // 是否包含wer
        res = reg.test(str);
        console.log(res); // true


        // [ ]  包裹一个字符的条件
        reg = /[wet]/g; // 包含有一个w或e或t
        res = reg.test(str);
        console.log(res); // true


        reg = /[w|e|t]/g; // 包含有一个w或e或t
        res = reg.test(str);
        console.log(res); // true

        str = 'qqrwery3u';
        reg = /[0-9]/g;// 包含有一个数字
        res = reg.test(str);
        console.log(res);// true

        str = '123';
        reg = /[^0-9]/g; // 必需包含有一个非数字
        res = reg.test(str);
        console.log(res);




        str = ';123';
        reg = /^[^0-9]/g; // 必需包含有一个非数字为开头
        res = reg.test(str);
        console.log(res);


        str = '1';
        reg = /^[0-9]$/g; // 必需以一个数字开头并结尾
        res = reg.test(str);
        console.log(res);


        /*
        {} 是给前面挨着的字符条件设置数量
        {n,m}  最少n   最多m
        {n} 出现n
        {n,} 最少n  没有最多
        * === {0，}
        + === {1，}
        ？=== {0,1}
        */
        str = '123';
        reg = /^[0-9]?$/g; // 必需以数字为开头并结尾
        res = reg.test(str);
        console.log(res); // true


        reg = /[a-zA-Z]/g;  // 必需包含一个字母
        res = reg.test(str);
        console.log(res);

        /* 
         \d === [0-9]
         \D === [^0-9]
         \w === [a-zA-Z0-9_]
         \W === [^a-zA-Z0-9_]
*/
         reg = /\d/g;   // 
        res = reg.test(str);
        console.log(res);
        

        reg = /\w/g;
        res = reg.test(str);
        console.log(res);
    </script>
</body>

</html>